package me.firstapp.service.weixin.soft;

import java.util.Date;
import java.util.List;
import java.util.Map;

import me.firstapp.common.utils.Page;
import me.firstapp.module.weixin.order.SoftOrder;

public interface SoftOrderService {

	SoftOrder executeCreateSoftOrder(String openId, Integer vipLevel);

	List<SoftOrder> findOrders(Integer status);

	List<SoftOrder> findOrders(Integer status, Integer settleFlag);

	SoftOrder executeUpdate(SoftOrder softOrder);

	SoftOrder executeSettle(SoftOrder softOrder);

	SoftOrder findByOrderNo(String orderNo);

	void executeConfirmOrder(SoftOrder softOrder);

	SoftOrder executeCompleteOrder(SoftOrder softOrder);

	void executeSavePaymentRecord(SoftOrder softOrder, String thirdPayNo, Integer status, String errorCode,
			String errorDesc);

	Page<SoftOrder> findSoftOrderPage(Integer pageNo, Integer pageSize, Map<String, Object> searchParams,
			String sortParam, String sortType, Date startTime, Date endTime);

}
